package com.dragon.modules.yuegou.entity.message;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.MsgType;
import com.dragon.modules.yuegou.enums.message.TemplateStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 消息模板实体类<br>
 * 对应的表为：msg_template<br>
 * 
 * @author pbuilder generated
 * @date 2019-07-17 19:56:06
 * @company sgy
 * @version 2.0
 */
@TableName("msg_template")
@ApiModel(description = "消息模板")
public class TemplateEntity {

    /**  */
	protected String id;

    /** 模板名称 */
	@ApiModelProperty("模板名称")
	protected String name;

    /** 模板标题（可配置模板参数） */
	@ApiModelProperty("模板标题（可配置模板参数）")
	protected String title;

    /** 模板内容 */
	@ApiModelProperty("模板内容")
	protected String content;

    /** 连接地址（可配模板参数） */
	@ApiModelProperty("连接地址（可配模板参数）")
	protected String url;

    /** 参数个数 */
	@ApiModelProperty("参数个数")
	protected Integer argNum;

    /** [枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED */
	@ApiModelProperty("[枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED")
	protected TemplateStatus status;

    /** [全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML */
	@ApiModelProperty("[全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML")
	protected MsgType msgType;

    /** 创建人ID */
	@ApiModelProperty("创建人ID")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 更新人ID */
	@ApiModelProperty("更新人ID")
	protected String modifiedBy;

    /** 更新时间 */
	@ApiModelProperty("更新时间")
	protected LocalDateTime modifiedTime;

    /** 是否删除 */
	@ApiModelProperty("是否删除")
	protected Boolean del;

    /** 删除人ID */
	@ApiModelProperty("删除人ID")
	protected String delBy;

    /** 删除时间 */
	@ApiModelProperty("删除时间")
	protected LocalDateTime delTime;

    /** 腾讯云短信模板ID */
	@ApiModelProperty("腾讯云短信模板ID")
	protected Integer tencentsmsTemplateId;

    /** 微信公众号模板ID */
	@ApiModelProperty("微信公众号模板ID")
	protected String wechatTemplateId;

    /** 微信公众号模板参数 */
	@ApiModelProperty("微信公众号模板参数")
	protected String wechatTemplateArgs;

	/**
	 * 构造一个空消息模板实体对象
	 */
	public TemplateEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个消息模板实体对象
	 * 
	 * @param other 其它对象
	 */
	public TemplateEntity(TemplateEntity other){
		super();
     	this.id = other.id;
     	this.name = other.name;
     	this.title = other.title;
     	this.content = other.content;
     	this.url = other.url;
     	this.argNum = other.argNum;
     	this.status = other.status;
     	this.msgType = other.msgType;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
     	this.tencentsmsTemplateId = other.tencentsmsTemplateId;
     	this.wechatTemplateId = other.wechatTemplateId;
     	this.wechatTemplateArgs = other.wechatTemplateArgs;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取模板名称
	 * 
	 * @return name 模板名称
	 */
	public String getName() {
		return name;
	}
  	
	/**
	 * 设置模板名称
	 * 
	 * @param name 模板名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取模板标题（可配置模板参数）
	 * 
	 * @return title 模板标题（可配置模板参数）
	 */
	public String getTitle() {
		return title;
	}
  	
	/**
	 * 设置模板标题（可配置模板参数）
	 * 
	 * @param title 模板标题（可配置模板参数）
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * 获取模板内容
	 * 
	 * @return content 模板内容
	 */
	public String getContent() {
		return content;
	}
  	
	/**
	 * 设置模板内容
	 * 
	 * @param content 模板内容
	 */
	public void setContent(String content) {
		this.content = content;
	}

	/**
	 * 获取连接地址（可配模板参数）
	 * 
	 * @return url 连接地址（可配模板参数）
	 */
	public String getUrl() {
		return url;
	}
  	
	/**
	 * 设置连接地址（可配模板参数）
	 * 
	 * @param url 连接地址（可配模板参数）
	 */
	public void setUrl(String url) {
		this.url = url;
	}

	/**
	 * 获取参数个数
	 * 
	 * @return argNum 参数个数
	 */
	public Integer getArgNum() {
		return argNum;
	}
  	
	/**
	 * 设置参数个数
	 * 
	 * @param argNum 参数个数
	 */
	public void setArgNum(Integer argNum) {
		this.argNum = argNum;
	}

	/**
	 * 获取[枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED
	 * 
	 * @return status [枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED
	 */
	public TemplateStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED
	 * 
	 * @param status [枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED
	 */
	public void setStatus(TemplateStatus status) {
		this.status = status;
	}

	/**
	 * 获取[全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML
	 * 
	 * @return msgType [全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML
	 */
	public MsgType getMsgType() {
		return msgType;
	}
  	
	/**
	 * 设置[全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML
	 * 
	 * @param msgType [全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML
	 */
	public void setMsgType(MsgType msgType) {
		this.msgType = msgType;
	}

	/**
	 * 获取创建人ID
	 * 
	 * @return createdBy 创建人ID
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人ID
	 * 
	 * @param createdBy 创建人ID
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取更新人ID
	 * 
	 * @return modifiedBy 更新人ID
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置更新人ID
	 * 
	 * @param modifiedBy 更新人ID
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取更新时间
	 * 
	 * @return modifiedTime 更新时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置更新时间
	 * 
	 * @param modifiedTime 更新时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取是否删除
	 * 
	 * @return del 是否删除
	 */
	public Boolean getDel() {
		return del;
	}
  	
	/**
	 * 设置是否删除
	 * 
	 * @param del 是否删除
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取删除人ID
	 * 
	 * @return delBy 删除人ID
	 */
	public String getDelBy() {
		return delBy;
	}
  	
	/**
	 * 设置删除人ID
	 * 
	 * @param delBy 删除人ID
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取删除时间
	 * 
	 * @return delTime 删除时间
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}
  	
	/**
	 * 设置删除时间
	 * 
	 * @param delTime 删除时间
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

	/**
	 * 获取腾讯云短信模板ID
	 * 
	 * @return tencentsmsTemplateId 腾讯云短信模板ID
	 */
	public Integer getTencentsmsTemplateId() {
		return tencentsmsTemplateId;
	}
  	
	/**
	 * 设置腾讯云短信模板ID
	 * 
	 * @param tencentsmsTemplateId 腾讯云短信模板ID
	 */
	public void setTencentsmsTemplateId(Integer tencentsmsTemplateId) {
		this.tencentsmsTemplateId = tencentsmsTemplateId;
	}

	/**
	 * 获取微信公众号模板ID
	 * 
	 * @return wechatTemplateId 微信公众号模板ID
	 */
	public String getWechatTemplateId() {
		return wechatTemplateId;
	}
  	
	/**
	 * 设置微信公众号模板ID
	 * 
	 * @param wechatTemplateId 微信公众号模板ID
	 */
	public void setWechatTemplateId(String wechatTemplateId) {
		this.wechatTemplateId = wechatTemplateId;
	}

	/**
	 * 获取微信公众号模板参数
	 * 
	 * @return wechatTemplateArgs 微信公众号模板参数
	 */
	public String getWechatTemplateArgs() {
		return wechatTemplateArgs;
	}
  	
	/**
	 * 设置微信公众号模板参数
	 * 
	 * @param wechatTemplateArgs 微信公众号模板参数
	 */
	public void setWechatTemplateArgs(String wechatTemplateArgs) {
		this.wechatTemplateArgs = wechatTemplateArgs;
	}

    public String toString() {
		return new StringBuilder().append("TemplateEntity{").
			append("id=").append(id).
			append(",name=").append(name).
			append(",title=").append(title).
			append(",content=").append(content).
			append(",url=").append(url).
			append(",argNum=").append(argNum).
			append(",status=").append(status).
			append(",msgType=").append(msgType).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append(",tencentsmsTemplateId=").append(tencentsmsTemplateId).
			append(",wechatTemplateId=").append(wechatTemplateId).
			append(",wechatTemplateArgs=").append(wechatTemplateArgs).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public TemplateEntity copy() {
		return new TemplateEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 模板名称 */
	public static final String COL_NAME = "name";

    /** 模板标题（可配置模板参数） */
	public static final String COL_TITLE = "title";

    /** 模板内容 */
	public static final String COL_CONTENT = "content";

    /** 连接地址（可配模板参数） */
	public static final String COL_URL = "url";

    /** 参数个数 */
	public static final String COL_ARG_NUM = "arg_num";

    /** [枚举]状态：0-暂存-TEMP、1-已启用-ENABLED、2-禁用-DISABLED */
	public static final String COL_STATUS = "status";

    /** [全局枚举]消息类型：0-文本消息-TEXT、1-语音消息-VOICE、2-APP消息-APP、3-HTML消息-HTML */
	public static final String COL_MSG_TYPE = "msg_type";

    /** 创建人ID */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 更新人ID */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 更新时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 是否删除 */
	public static final String COL_DEL = "del";

    /** 删除人ID */
	public static final String COL_DEL_BY = "del_by";

    /** 删除时间 */
	public static final String COL_DEL_TIME = "del_time";

    /** 腾讯云短信模板ID */
	public static final String COL_TENCENTSMS_TEMPLATE_ID = "tencentsms_template_id";

    /** 微信公众号模板ID */
	public static final String COL_WECHAT_TEMPLATE_ID = "wechat_template_id";

    /** 微信公众号模板参数 */
	public static final String COL_WECHAT_TEMPLATE_ARGS = "wechat_template_args";
}
